package com.yuanfeng.activity.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yuanfeng.activity.dto.GetAvailableVcBaseDTO;
import com.yuanfeng.activity.dto.UserGetVoucherParamDTO;
import com.yuanfeng.activity.dto.UserVcBaseDTO;
import com.yuanfeng.activity.entity.ActivityVoucherBaseEntity;
import com.yuanfeng.commoms.util.ResponseResult;
import com.yuanfeng.commoms.vo.activity.VoucherBaseVO;

import java.util.Map;

/**
 * @ClassName ActivityVoucherBaseService
 * @Description  代金券表
 * @Author cyp
 * @Date 2023-05-25 16:55:50
 * @Version 1.0
 **/
public interface ActivityVoucherBaseService extends IService<ActivityVoucherBaseEntity> {
    /**
     * 根据店铺id查询代金券信息
     * @param param
     * @return
     */
     ResponseResult selectVoucherTempByShopId(GetAvailableVcBaseDTO param);

    /**
     * 获取代金券信息
     * @param map
     * @return
     */
    VoucherBaseVO getVoucherDetail(Map<String, Object> map);

    /**
     * 更新 红包优惠券状态
     * @param paraMap
     * @return
     */
    ResponseResult updateSalesPrm(Map<String, Object> paraMap);

    /**
     * 根据金额查询可领取代金券信息
     * @param paraMap
     * @return
     */
    ResponseResult selectAvailableVcBase(Map<String, Object> paraMap);

    /**
     * 用户领取优惠券
     * @param param
     * @return
     */
    ResponseResult insertVcBase(UserGetVoucherParamDTO param);

    /**
     * 用户查询未使用代金券信息
     *
     * @param param
     * @return
     */
    ResponseResult selectVcBase(UserVcBaseDTO param);

    /**
     * 修改代金券详情
     *
     * @param voucherMap
     * @return
     */
    ResponseResult updateVoucherDetail(Map<String, Object> voucherMap);

    /**
     * 查询 优惠券 列表
     * @param param
     * @return
     */
    ResponseResult queryFullReduceVcList(GetAvailableVcBaseDTO param);

    /**
     * 查询优惠券信息
     * @param paraMap
     * @return
     */
    ResponseResult queryShopVoucherTempPort(Map<String, Object> paraMap);
}
